home *** CD-ROM | disk | FTP | other *** search
- #include <proto/exec.h>
- #include <proto/dos.h>
- #include <proto/amigaguide.h>
- #include <exec/memory.h>
-
- #include "MiniView_ver.h"
-
- #define TEMPLATE "Sorry, no extra help available...\n" \
- "DataBase/A,Doc=Document/K,Line/N,PS=PubScreen/K,Port=PortName/K"
-
- // 01234567890123456789012345678901234567890123456789012345678901234
-
- #define TOFFS (sizeof(TEMPLATE)-64)
-
-
- typedef struct Library LIB;
- typedef struct RDArgs ARGS;
- typedef struct NewAmigaGuide NAG;
-
- extern LONG MiniView(VOID);
-
-
- LONG
- MiniView(VOID)
- {
- LONG RC = 20L;
-
- LIB *SysBase = *((LIB **) 4L);
- LIB *DOSBase = OpenLibrary("dos.library", 37L);
-
- if (DOSBase)
- {
- extern const TEXT AGName[];
-
- LIB *AmigaGuideBase = OpenLibrary(AGName, 38L);
-
- if (AmigaGuideBase)
- {
- ARGS *dobj = (ARGS *) AllocDosObject(DOS_RDARGS, NULL);
-
- if (dobj)
- {
- NAG *nag = AllocVec(sizeof(*nag), MEMF_PUBLIC | MEMF_CLEAR);
-
- if (nag)
- {
- ARGS *args;
- LONG argv[6];
-
- for (RC = 0; RC < 6; ++RC)
- argv[RC] = NULL;
-
- RC = 10L;
-
- dobj->RDA_ExtHelp = TEMPLATE;
-
- if (args = ReadArgs(&(dobj->RDA_ExtHelp[TOFFS]), argv, dobj))
- {
- VOID *agh;
-
- nag->nag_Name = (TEXT *) argv[0];
- nag->nag_Flags = HTF_CACHE_NODE | HTF_CACHE_DB | HTF_UNIQUE;
-
- if (argv[1])
- nag->nag_Node = (TEXT *) argv[1];
-
- if (argv[2])
- nag->nag_Line = *((LONG *) argv[2]);
-
- if (argv[3])
- nag->nag_PubScreen = (TEXT *) argv[3];
-
- if (argv[4])
- nag->nag_ClientPort = (TEXT *) argv[4];
-
- SetIoErr(0L);
-
- if (agh = OpenAmigaGuideA(nag, NULL))
- {
- LONG R2 = IoErr();
-
- if (R2 == 0L)
- RC = 0L;
- else
- SetIoErr(R2);
-
- CloseAmigaGuide(agh);
- }
- else
- {
- RC = IoErr();
- PrintFault(RC, (TEXT *) argv[0]);
- }
- FreeArgs(args);
- }
- else
- PrintFault(IoErr(), NULL);
-
- FreeVec(nag);
- }
- else
- PrintFault(ERROR_NO_FREE_STORE, NULL);
-
- FreeDosObject(DOS_RDARGS, dobj);
- }
- else
- PrintFault(ERROR_NO_FREE_STORE, NULL);
-
- CloseLibrary(AmigaGuideBase);
-
- }
- else
- PrintFault(ERROR_INVALID_RESIDENT_LIBRARY, AGName);
-
- CloseLibrary(DOSBase);
- }
- return RC;
- }
-
- static const TEXT VersTag[] = "$VER: " VSTR;
- static const TEXT Compiled[] = "Compiled on " __DATE__ " at " __TIME__;
- static const TEXT Copyright[] = "Copyright © 1994,95 Klaus Alexander Seistrup @ Magnetic Ink";
- static const TEXT EMail[] = "E-mail: kas@mink.ping.dk";
-
- const TEXT AGName[] = "amigaguide.library";
-
-
- /*
- ** EOF
- */
-